package cn.com.jdbc;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/*【入门案例】
  查询学生表的所有列，需要遍历结果集
 */
public class TestJDBC {
    public static void main(String[] args) throws Exception {
        //1,反射注册驱动(---Class.forName(Driver的路径))
        //Class.forName("com.mysql.jdbc.Driver"); //低版本jar包
        Class.forName("com.mysql.cj.jdbc.Driver");//cj更直接查询
        //2,DriverManager驱动器 获取和数据库的连接
//String url= "jdbc:mysql://localhost:3306/cgb2105 ?characterEncoding=utf8";/
        String url= "jdbc:mysql:///cgb2105?characterEncoding=utf8";//指定要连接哪个数据库
        String user= "root" ; //使用的用户名
        String pwd= "root" ; //使用的密码
        Connection conn = DriverManager.getConnection(url, user, pwd);
        //3,生成描述传输器st
        Statement st = conn.createStatement();
        //4,执行SQL加查询语句,返回结果集
        ResultSet rs = st.executeQuery("select * from students where sno=105");//【查询学号为105的学生信息】
                                     //("select * from students")遍历所有学生信息
        //5,解析结果集
        while( rs.next() ){//next()判断结果集中是否有数据
              /**分别获取每列*/
//            int num = rs.getInt(1);//getInt()
//            String s = rs.getString("sname");//getString()
//            String s2 = rs.getString(3);//获取第三列的值
//            System.out.println(num+s+s2);

              /*for循环遍历每列即所有列*/
            for (int i = 1; i <= 5 ; i++) { //声明int i必须等于1
                //并打印表里所有信息
                System.out.println( rs.getString(i) );
            }

        }
        //6,释放资源
        rs.close(); //关闭结果集
        st.close();//关闭传输器
        conn.close();//关闭连接

    }
}
